package com.itheima.demo2recursion;

import java.io.File;
import java.io.IOException;

public class FileSearchTest {
    public static void main(String[] args) throws Exception{
//        完成文件搜索，找出E盘下的learn文件
        try {
            File dir = new File("E:\\learn\\新建文件夹\\");
            String filename="learn.txt";
            findFile(dir,filename);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    /**
     * 递归查找文件
     * @param dir:搜索目录范围
     * @param filename：要查找的文件名
     */
    public static void findFile(File dir,String filename) throws Exception{
        File[] files = dir.listFiles();
        if (dir==null||!dir.exists()||dir.isFile()||files.length==0){
            return;
        }
        else {
            for (File file : files) {
                if (file.isDirectory()) {
                    findFile(file, filename);
                } else {
                    if (file.getName().contains(filename)) {
                        System.out.println("找到目标文件了，路径是："+file);
                        Runtime r=Runtime.getRuntime();
                        r.exec("notepad "+file);
                        return;
                    }
                }
            }
        }
    }
}
